iT邦幫忙

2023 iThome 鐵人賽

DAY 16
0
自我挑戰組

線上商店串接tappay系列 第 16

React useEffect

  • 分享至 

  • xImage
  •  

useEffect 是 React 函式組件中用於處理副作用的 Hook。副作用指的是與組件渲染無直接關聯的任何操作,例如資料獲取、訂閱事件、手動操作 DOM 等。

useEffect 可以用來管理副作用的執行時機,以確保在特定情況下執行特定的程式碼。它接受兩個參數:一是一個函式,用於描述需要執行的副作用操作;二是一個陣列,用於指定當中的依賴項(Dependencies),當這些依賴項發生變化時,useEffect 會重新執行。

只要render(組件渲染)時都會觸發useEffect函式,我們可以感受一下Dependencies。

useEffect(() => {
    console.log('use effect ran');
    console.log(blogs);
  }, [name])

現在dependencies是blogs的name,所以現在除了一開始的initial render會觸發useEffect函式外,除非作者的name有變動,其他都不會觸發函式。

如果有用到函式會顯示,use effect ran
圖1
原本每次點delete blog都會跑useEffect函式,因為有重新render
圖2
但現在dependencies改為name
圖3
所以點delete blog不會跑useeffect函式,除非點了change name。
圖4

簡單來說useEffect可以管理執行時機,下篇用它來fetch data。


參考資料

Net ninja


上一篇
React props
下一篇
React Fetch data
系列文
線上商店串接tappay30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言